/**
 * 文件名称:  IParamDefService.java
 * 文件序号:  序号
 * 内容描述:  文件简单描述，多行换行书写
 * 版权声明:  山东鸿蝶信息技术有限公司
 * 创建用户:  zhuhongchao
 * 创建日期:  2017/1/18 08:26
 * 修改用户:  无
 * 修改日期:  无
 * 修改说明:  无
 * 文件版本:  V1.0
 * 文件路径:
 */
package com.hongdee.base.param.service;

import com.hongdee.base.param.entity.ParamDef;

import java.util.List;
import java.util.Map;

/**
 * 名  称:IParamDefService
 * 类  型: interface
 * 描  述: 用一句话描述类的作用
 * 路  径:com.hongdee.base.param.service
 * 作  者: zhuhongchao
 * 日  期:2017/1/18 08:26
 */
public interface IParamDefService {

    /**
     * 方法名称: page
     * 方法描述: 分页查询品牌变更历史
     * 参数名称: String start 起始行数
     * 参数名称: String limit 分页大小
     * 参数名称: String sys_code 系统编码
     * 参数名称: String def_type 参数类型
     * 参数名称：String def_name 参数名称
     * 返回内容: Map
     * 异常说明: Exception
     * 创建用户:术洪超
     * 创建时间:
     * 修改用户:术洪超
     * 修改时间:2017/2/8
     * 修改内容:注释内容
     */
    Map page(String start, String limit, String pCode, String value) throws Exception;

    /**
     * 方法名称: info
     * 方法描述: 详情查询
     * 参数名称: String id 主键id
     * 返回内容: 实体对象
     * 异常说明: Exception
     * 创建用户:术洪超
     * 创建时间:
     * 修改用户:术洪超
     * 修改时间:2017/2/8
     * 修改内容:注释内容
     */
    public Map info(String id) throws Exception;

    /**
     * 方法名称: saveOrUpdate
     * 方法描述:  保存或更新实体，通过主键判断
     * 参数名称: ParamDef data 要保存的变更历史记录实体
     * 返回内容: ParamDef 保存后的历史记录实体
     * 异常说明: Exception
     * 创建用户:术洪超
     * 创建时间:
     * 修改用户:术洪超
     * 修改时间:2017/2/8
     * 修改内容:注释内容
     */
    public ParamDef saveOrUpdate(ParamDef paramDef) throws Exception;


    /**
     * 方法名称: update
     * 方法描述: 修改品牌状态
     * 参数名称: String id  主键id
     * 参数名称: String status 状态
     * 返回内容:
     * 异常说明:Exception
     * 创建用户:术洪超
     * 创建时间:
     * 修改用户:术洪超
     * 修改时间:2017/2/8
     * 修改内容:注释内容
     */
    void update(String id, String status) throws Exception;

    /**
     * 查询参数树
     *
     * @param pCode 上级节点编码
     * @return
     */
    List tree(String pCode) throws Exception;

    /**
     * 查询所有任务参数树
     *
     * @param pCode 默认为任务类型
     * @return
     */
    List treeParam(String pCode) throws Exception;
}
